The present invention relates generally to pricing of resources used by a customer, and more particularly to a technique to optimize resource pricing and availability for the customer.
It is known to charge a customer based on the customer's amount of usage of a resource such as disk space, bandwidth and processor utilization in the computer and telecommunication fields and energy in other fields. It was also known to charge a basic service fee for a predetermined, guaranteed amount of resource availability, and then add a usage fee for additional consumption. The resource provider does not guarantee that a customer request for the additional resource consumption can be satisfied, and typically charges less per unit of additional, not-guaranteed resource than unit of guaranteed resource. It was known for a contract to specify and fix the basic fee, amount of guaranteed resource availability, and usage fee for additional resource consumption. Also, some contracts may limit the total amount of resources that the customer may consume. Occasionally, the fee arrangement is not optimum for the customer and/or does not meet the customer's needs.
The following describes known techniques to determine a bill for a customer based on the customer's resource utilization. The resource provider uses a known technique to measure the customer's resource utilization at defined sampling intervals. The measured/sample values “Un” of resource utilization or consumption at the measurement or sampling intervals can be denoted by (U1, U2, . . . Un). (If the measurement interval is very small, this will appear to be a “continuous” measurement). At the end of the billing period, the samples are compiled to determine a final usage value for the entire billing period. The final usage value denoted as “U” for a billing period can be determined based on an equation U=M (U1, U2, . . . Un). The function “M” depends on the contract with the customer and can be the average of the sample utilization values “Ui”, the sum of the sample utilization values “Ui”, the (upper) 95th percentile sample utilization value, etc.
Typically the contract between the customer and the resource provider specifies an amount of resource which the resource provider guarantees or commits to the customer. The contract may also specify an absolute maximum amount of resource that the customer can request from the resource provider. In some cases, the customer may request an amount of resource greater than the amount guaranteed in the contract. Typically, the resource provider will supply this additional amount if it does not exceed the absolute maximum specified in the contract and if this additional amount is available. The situation where the resource provider cannot or will not satisfy a request by a customer for an amount of resource can be represented by the following. If the values of these customer resource requests at each measurement interval are R1, R2, . . . Rn, then, for any measure interval Ui≦Ri.
One reason the resource provider may not provide the requested additional resource is that the resource provider's total resources may be shared amongst multiple customers, and the customers may be compete with each other for the available resources in excess of their guaranteed amount, if any. For example, in a data processing environment multiple customers may use a common pool of servers, and in a telecommunications environment multiple customers may use a common pool of communication equipment. Thus, Ui≦Ri when there are not enough resources available at one time to satisfy all requests of all customers, even though Ri≦K, where “K” represents the total pooled amount of resources. If the contract with a customer includes a committed or guaranteed minimum value, any customer request at or below this guaranteed minimum value at any time will be satisfied regardless of requests made by other customers at the same time. Therefore, any customer request at or below this guaranteed minimum value at any time will be satisfied regardless of requests made by other customers at the same time. This committed minimum value can be denoted “C” in the following equations:C≦KIf Ri≦C, then the request Ri is always satisfied and Ui=Ri,If C<Ri≦K, then the request Ri is not always satisfied and C≦Ui≦Ri≦K,If K<Ri, then the request Ri is not completely satisfied and C≦Ui≦K<Ri.At the end of the billing period, “U” is computed with the equation U=M (U1, U2, . . . Un). The price to be paid by the customer is the sum of two pricing elements: (i) the price for a certain amount of committed or guaranteed resource which is a function depending on “C”, i.e. F(C), and (ii) the usage price paid for consumption of the resource above the committed level. This is a fraction of the (excess) resource consumed for which the availability has not been guaranteed. In other words, the charge for the uncommitted resource should be less than the charge for the committed resource, per unit of consumption, because of the risk that the uncommitted resource will not be provided. This price is therefore a function of U−C, i.e. G(U−C). “F” and “G” are monotonicaly increasing functions, and G(x)=0 if x≦0. Thus, the function “G” applies to a fraction of the resource which is not committed. In other words:F(C+x)+G(U−(C+x))>F(c)+G((U+x)−C)where “x” represents a small increase. The price for (a modest amount of) extra consumption is less than the price for the same increase of the committed amount of resource.
Typically, the resource provider requires that the customer select a committed amount “C” from a predetermined, discrete set of committed values (C1, C2, . . . , Cn). For example, a committed value of a subscription for electric service may be limited to predetermined, discrete values such as C1=3 kWh, C2=6 kWh, C3=9 kWh, etc. Therefore, the price can be defined by the equation:
P=F(Ci)+G(U−Ci)
where Ci is the committed value selected by the customer from the set of values C1, C2, . . . Cn.
While the foregoing techniques to determine a fee to charge a customer for use of a resource are effective, these techniques are not always optimum for the customer.
Accordingly, an object of the present invention is to optimize, for the customer, a contract for resource consumption.
Another object of the present invention is to dynamically optimize, for the customer, the contract for resource consumption.